/**
 * https://leetcode.cn/problems/merge-sorted-array/
 * 合并两个有序数组，m限制nums1的长度，n限制nums2的长度
 * 解题思路：
 * 1.空间换速度，创建一个m+n长度的数组
 * 2.循环
 * 3.先判断数组索引是否在限制范围内，再判断是否小于nums2或者nums2为空
 * 4.因为循环的次数根据总长度判断，所以判断了m就不需要判断n了
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
var merge = function(nums1, m, nums2, n) {
    
    let counter=0;
    let length=m+n;
    let res=[];
    let i=0;
    let j=0;
    while(counter<length){
       
        // 先判断数组索引是否在限制范围内，再判断是否小于nums2或者nums2为空
        if(i <m && (nums2[j]===undefined || nums1[i]<nums2[j])){
            res.push(nums1[i])
            i++;
        }else{
             res.push(nums2[j])
            j++;
        }
        counter++;
    }
    nums1=res;
  console.log(res,nums1)
};

//merge([1,2,3,0,0,0],3,[2,5,6],3)
// merge([-1,0,0,3,3,3,0,0,0],6,[1,2,2],3)
